package com.probiz.estore.product.service;

import com.probiz.estore.common.model.product.Product;
import com.probiz.estore.common.model.product.ProductStat;
import com.probiz.estore.core.service.GenericManager;

/**
 * Manager interface for ProductStat, responsible for business processing, and communicate between web and persistence layer.
 *
 */
public interface ProductStatManager extends GenericManager<ProductStat> {
	/**
	 * 获取产品统计信息，
	 * 优先考虑product.getProductStat()
	 * @param productId
	 * @return 
	 */
	public ProductStat getProductStatByProduct(Integer productId);
	
	/**
	 * 初始化统计信息
	 */
	public void doInitProductStatByCreateProduct(Product product);
	
	/**
	 * 调整产品评论得分值
	 * @param productId
	 * @param rateValue 对产品的整体评分 
	 * @param Operation 1为加，2为减
	 */
	public void doAdjustProductReviewRate(Integer productId,Integer rateValue,Short Operation);
	
	/**
	 * 为产品增加已售数量
	 * @param productId
	 * @param quantity 增加数量
	 */
	public void doAddProductBuyCount(Integer productId,Integer quantity);
	
	/**
	 * 目前不考虑减少
	 * 为产品减少已售数量
	 * @param productId
	 * @param quantity 减少数量
	 */
	public void doSubtractProductBuyCount(Integer productId,Integer quantity);
} 
